#通过简单的控制语句来实现简易版的人生重开器
import random
import sys
import time

#设置开始界面
print('+---------------------------------+')
print('|         欢迎来到人生重开器         |')
print('|     这样垃圾的人生实在过不下去了     |')
print('+---------------------------------+')

#输入初始值
while True:
    print('请设置你初始属性，每一个属性都不能超过10，并且全部属性加起来不能超过20')
    strong = int(input('请设置你的体质: (1-10)'))
    face = int(input('请设置你的颜值: (1-10)'))
    home = int(input('请设置你的家境: (1-10)'))
    iq = int(input('请设置你的智力: (1-10)'))

    #判断输入是否满足规则
    if strong > 10:
        print('体质设置有误!')
        continue
    if face > 10:
        print('颜值设置有误!')
        continue
    if home > 10:
        print('家境设置有误!')
        continue
    if iq > 10:
        print('智力设置有误!')
        continue
    if (strong + face + home + iq) > 20:
        print('全部属性相加不能超过20，请重新设置')
        continue
    #这里输入完成，打印结果，并跳出循环
    print('初始值设置完成')
    print(f'strong: {strong} face: {face} home: {home} iq: {iq}')
    break

#设置性别
point = random.randint(1,6)
if point % 2 == 1:
    gender = '男'
    print('你是一个男孩')
else:
    gender = '女'
    print('你是一个女孩')

#设置角色出生点
point = random.randint(1,3)  #这里简单的分一些情况熟悉语法，理论上应该是更加乱一些才是人生
if home == 10:
    #第一档家境
    print('你出生在一个经济条件非常好的家庭，衣食无忧，父母是高管')
    home += 1
    iq += 1
    face += 1
elif 7 <= home <= 9:
    #第二档家境
    if point == 1 :
        print('你出生在大城市，你的父母是公务员')
        face += 2
    elif point == 2:
        print('你出生在大城市，你的父母是企业高管')
        home += 2
    else:
        print('你出生在大城市，你的父母是大学教授')
        iq += 2
elif 4 <= home <= 6:
    #第三档家境
    if point == 1:
        print('你出生在小城市，你的父母是医生')
        strong += 1
    elif point == 2:
        print('你出生在乡镇，你的父母是老师')
        iq += 1
    else:
        print('你出生在乡镇，你的父母是商人')
        home += 1
else :
    #第四档家境,有负面影响
    if point == 1:
        print('你出生在农村，你的父母是农民')
        strong += 1
        face -= 1
    elif point == 2:
        print('你出生在穷乡僻壤，你的父母是无业游民')
        home -= 1
    else:
        print('你出生在城镇，你的父母感情不好，时常吵架')
        strong -=1

#开始人生循环，这里只列举幼年时期
for age in range(1,11):
    #每一年的信息
    info = f'你今年{age}岁: '
    point = random.randint(1,3)
    #性别触发事件，这里每年只会触发一个大的事件
    if gender == '女' and home <= 3 and point == 1:
        info += '你的家庭重男轻女思想严重，你被抛弃了！'
        print(info)
        print('游戏结束')
        sys.exit(0)
    #体质触发的事件
    elif strong < 6 and point < 3:
        info += '你生了一场大病,'
        if home >= 6 :
            info += '但是在你的父母的精心照顾下，你恢复了健康'
            strong += 1
            home -= 1
        else:
            info += '你的父母无心照顾你'
            strong -= 1
    #颜值触发的事件
    elif face < 5 and age >= 7:
        info += '你长得太丑了，别的小朋友都嫌弃你，'
        if iq > 5:
            info += '你决定用心读书，通过知识来改变命运'
            iq += 2
        else:
            if gender == '男':
                info += '为此你经常和别人打架'
                strong += 1
                iq -= 1
            else :
                info += '你经常被别人欺负'
                strong -= 1
    #智力触发的事件
    elif iq < 5:
        info += '你看起来傻傻的，经常别人说笨'
        if home >= 7 and age <= 6:
            info += '你的父母送你去好的学校去学习，你的智力慢慢上升'
            iq += 2
        elif 4 <= home <= 6:
            if gender == '男':
                info += '你的父母建议你多锻炼，以后当运动员'
                strong += 2
            else:
                info += ('你的父母叫你多打扮')
                face += 1
        else:
            info += '你的父母因此吵架'
            face -= 1
            iq -= 1
            strong -= 1
    #健康正常的成长
    else:
        info += '你今年健康正常的成长了'
        if point == 1:
            info += '你看起来更加强壮了'
            strong += 1
        elif point == 2:
            info += '你看起来比去年更加好看了'
            face += 1
        else :
            info += '今年没什么大事发生'
    #判断各个极端条件
    if strong <= 0:
        print('你的体质太弱，一场小病就废掉了')
        exit(0)
    print(info)
    #输出各个属性
    print(f'strong: {strong} face: {face} home: {home} iq: {iq}')
    print('-------------------------------------')
    #为了方便观察
    time.sleep(2)


